<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkPadController: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="Gestures.html" title="Gestures and event handling">
<link rel="prev" href="GtkGestureStylus.html" title="GtkGestureStylus">
<link rel="next" href="DeprecatedObjects.html" title="Deprecated">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GtkPadController.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GtkPadController.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GtkPadController.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="Gestures.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkGestureStylus.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="DeprecatedObjects.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkPadController"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkPadController.top_of_page"></a>GtkPadController</span></h2>
<p>GtkPadController — Controller for drawing tablet pads</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkPadController.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GtkPadController.html" title="GtkPadController"><span class="returnvalue">GtkPadController</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkPadController.html#gtk-pad-controller-new" title="gtk_pad_controller_new ()">gtk_pad_controller_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkPadController.html#gtk-pad-controller-set-action-entries" title="gtk_pad_controller_set_action_entries ()">gtk_pad_controller_set_action_entries</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkPadController.html#gtk-pad-controller-set-action" title="gtk_pad_controller_set_action ()">gtk_pad_controller_set_action</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkPadController.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<span class="type">GActionGroup</span> *</td>
<td class="property_name"><a class="link" href="GtkPadController.html#GtkPadController--action-group" title="The “action-group” property">action-group</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
<tr>
<td class="property_type">
<span class="type">GdkDevice</span> *</td>
<td class="property_name"><a class="link" href="GtkPadController.html#GtkPadController--pad" title="The “pad” property">pad</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkPadController.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GtkPadController.html#GtkPadController-struct" title="GtkPadController">GtkPadController</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkPadController.html#GtkPadActionType" title="enum GtkPadActionType">GtkPadActionType</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkPadController.html#GtkPadActionEntry" title="struct GtkPadActionEntry">GtkPadActionEntry</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkPadController.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> <a class="link" href="GtkEventController.html" title="GtkEventController">GtkEventController</a>
        <span class="lineart">╰──</span> GtkPadController
</pre>
</div>
<div class="refsect1">
<a name="GtkPadController.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkPadController.description"></a><h2>Description</h2>
<p><a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a> is an event controller for the pads found in drawing
tablets (The collection of buttons and tactile sensors often found around
the stylus-sensitive area).</p>
<p>These buttons and sensors have no implicit meaning, and by default they
perform no action, this event controller is provided to map those to
<span class="type">GAction</span> objects, thus letting the application give those a more semantic
meaning.</p>
<p>Buttons and sensors are not constrained to triggering a single action, some
<code class="literal">GDK_SOURCE_TABLET_PAD</code> devices feature multiple "modes", all these input
elements have one current mode, which may determine the final action
being triggered. Pad devices often divide buttons and sensors into groups,
all elements in a group share the same current mode, but different groups
may have different modes. See <code class="function">gdk_device_pad_get_n_groups()</code> and
<code class="function">gdk_device_pad_get_group_n_modes()</code>.</p>
<p>Each of the actions that a given button/strip/ring performs for a given
mode is defined by <a class="link" href="GtkPadController.html#GtkPadActionEntry" title="struct GtkPadActionEntry"><span class="type">GtkPadActionEntry</span></a>, it contains an action name that
will be looked up in the given <span class="type">GActionGroup</span> and activated whenever the
specified input element and mode are triggered.</p>
<p>A simple example of <a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a> usage, assigning button 1 in all
modes and pad devices to an "invert-selection" action:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="n">GtkPadActionEntry</span> <span class="o">*</span><span class="n">pad_actions</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
  <span class="p">{</span> <span class="n">GTK_PAD_ACTION_BUTTON</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">-1</span><span class="p">,</span> <span class="s">&quot;Invert selection&quot;</span><span class="p">,</span> <span class="s">&quot;pad-actions.invert-selection&quot;</span> <span class="p">},</span>
  <span class="err">…</span>
<span class="p">};</span>

<span class="err">…</span>
<span class="n">action_group</span> <span class="o">=</span> <span class="n">g_simple_action_group_new</span> <span class="p">();</span>
<span class="n">action</span> <span class="o">=</span> <span class="n">g_simple_action_new</span> <span class="p">(</span><span class="s">&quot;pad-actions.invert-selection&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
<span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">action</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span> <span class="n">on_invert_selection_activated</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
<span class="n">g_action_map_add_action</span> <span class="p">(</span><span class="n">G_ACTION_MAP</span> <span class="p">(</span><span class="n">action_group</span><span class="p">),</span> <span class="n">action</span><span class="p">);</span>
<span class="err">…</span>
<span class="n">pad_controller</span> <span class="o">=</span> <span class="n">gtk_pad_controller_new</span> <span class="p">(</span><span class="n">window</span><span class="p">,</span> <span class="n">action_group</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>The actions belonging to rings/strips will be activated with a parameter
of type <code class="literal">G_VARIANT_TYPE_DOUBLE</code> bearing the value of the given axis, it
is required that those are made stateful and accepting this <span class="type">GVariantType</span>.</p>
</div>
<div class="refsect1">
<a name="GtkPadController.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-pad-controller-new"></a><h3>gtk_pad_controller_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkPadController.html" title="GtkPadController"><span class="returnvalue">GtkPadController</span></a> *
gtk_pad_controller_new (<em class="parameter"><code><a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a> *window</code></em>,
                        <em class="parameter"><code><span class="type">GActionGroup</span> *group</code></em>,
                        <em class="parameter"><code><span class="type">GdkDevice</span> *pad</code></em>);</pre>
<p>Creates a new <a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a> that will associate events from <em class="parameter"><code>pad</code></em>
 to
actions. A <code class="literal">NULL</code> pad may be provided so the controller manages all pad devices
generically, it is discouraged to mix <a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a> objects with <code class="literal">NULL</code>
and non-<code class="literal">NULL</code> <em class="parameter"><code>pad</code></em>
 argument on the same <em class="parameter"><code>window</code></em>
, as execution order is not
guaranteed.</p>
<p>The <a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a> is created with no mapped actions. In order to map pad
events to actions, use <a class="link" href="GtkPadController.html#gtk-pad-controller-set-action-entries" title="gtk_pad_controller_set_action_entries ()"><code class="function">gtk_pad_controller_set_action_entries()</code></a> or
<a class="link" href="GtkPadController.html#gtk-pad-controller-set-action" title="gtk_pad_controller_set_action ()"><code class="function">gtk_pad_controller_set_action()</code></a>.</p>
<div class="refsect3">
<a name="gtk-pad-controller-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>window</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>group</p></td>
<td class="parameter_description"><p><span class="type">GActionGroup</span> to trigger actions from</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pad</p></td>
<td class="parameter_description"><p>A <code class="literal">GDK_SOURCE_TABLET_PAD</code> device, or <code class="literal">NULL</code> to handle all pads. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-pad-controller-new.returns"></a><h4>Returns</h4>
<p> A newly created <a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-pad-controller-set-action-entries"></a><h3>gtk_pad_controller_set_action_entries ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_pad_controller_set_action_entries (<em class="parameter"><code><a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a> *controller</code></em>,
                                       <em class="parameter"><code>const <a class="link" href="GtkPadController.html#GtkPadActionEntry" title="struct GtkPadActionEntry"><span class="type">GtkPadActionEntry</span></a> *entries</code></em>,
                                       <em class="parameter"><code><span class="type">gint</span> n_entries</code></em>);</pre>
<p>This is a convenience function to add a group of action entries on
<em class="parameter"><code>controller</code></em>
. See <a class="link" href="GtkPadController.html#GtkPadActionEntry" title="struct GtkPadActionEntry"><span class="type">GtkPadActionEntry</span></a> and <a class="link" href="GtkPadController.html#gtk-pad-controller-set-action" title="gtk_pad_controller_set_action ()"><code class="function">gtk_pad_controller_set_action()</code></a>.</p>
<div class="refsect3">
<a name="gtk-pad-controller-set-action-entries.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>controller</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>entries</p></td>
<td class="parameter_description"><p>the action entries to set on <em class="parameter"><code>controller</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_entries]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>n_entries</p></td>
<td class="parameter_description"><p>the number of elements in <em class="parameter"><code>entries</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-pad-controller-set-action"></a><h3>gtk_pad_controller_set_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_pad_controller_set_action (<em class="parameter"><code><a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a> *controller</code></em>,
                               <em class="parameter"><code><a class="link" href="GtkPadController.html#GtkPadActionType" title="enum GtkPadActionType"><span class="type">GtkPadActionType</span></a> type</code></em>,
                               <em class="parameter"><code><span class="type">gint</span> index</code></em>,
                               <em class="parameter"><code><span class="type">gint</span> mode</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *label</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>);</pre>
<p>Adds an individual action to <em class="parameter"><code>controller</code></em>
. This action will only be activated
if the given button/ring/strip number in <em class="parameter"><code>index</code></em>
 is interacted while
the current mode is <em class="parameter"><code>mode</code></em>
. -1 may be used for simple cases, so the action
is triggered on all modes.</p>
<p>The given <em class="parameter"><code>label</code></em>
 should be considered user-visible, so internationalization
rules apply. Some windowing systems may be able to use those for user
feedback.</p>
<div class="refsect3">
<a name="gtk-pad-controller-set-action.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>controller</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkPadController.html" title="GtkPadController"><span class="type">GtkPadController</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the type of pad feature that will trigger this action</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>index</p></td>
<td class="parameter_description"><p>the 0-indexed button/ring/strip number that will trigger this action</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>the mode that will trigger this action, or -1 for all modes.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>label</p></td>
<td class="parameter_description"><p>Human readable description of this action, this string should
be deemed user-visible.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action_name</p></td>
<td class="parameter_description"><p>action name that will be activated in the <span class="type">GActionGroup</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkPadController.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkPadController-struct"></a><h3>GtkPadController</h3>
<pre class="programlisting">typedef struct _GtkPadController GtkPadController;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkPadActionType"></a><h3>enum GtkPadActionType</h3>
<p>The type of a pad action.</p>
<div class="refsect3">
<a name="GtkPadActionType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-PAD-ACTION-BUTTON:CAPS"></a>GTK_PAD_ACTION_BUTTON</p></td>
<td class="enum_member_description">
<p>Action is triggered by a pad button</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-PAD-ACTION-RING:CAPS"></a>GTK_PAD_ACTION_RING</p></td>
<td class="enum_member_description">
<p>Action is triggered by a pad ring</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-PAD-ACTION-STRIP:CAPS"></a>GTK_PAD_ACTION_STRIP</p></td>
<td class="enum_member_description">
<p>Action is triggered by a pad strip</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GtkPadActionEntry"></a><h3>struct GtkPadActionEntry</h3>
<pre class="programlisting">struct GtkPadActionEntry {
  GtkPadActionType type;
  gint index;
  gint mode;
  gchar *label;
  gchar *action_name;
};
</pre>
<p>Struct defining a pad action entry.</p>
<div class="refsect3">
<a name="GtkPadActionEntry.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="GtkPadController.html#GtkPadActionType" title="enum GtkPadActionType"><span class="type">GtkPadActionType</span></a> <em class="structfield"><code><a name="GtkPadActionEntry.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>the type of pad feature that will trigger this action entry.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="GtkPadActionEntry.index"></a>index</code></em>;</p></td>
<td class="struct_member_description"><p>the 0-indexed button/ring/strip number that will trigger this action
entry.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="GtkPadActionEntry.mode"></a>mode</code></em>;</p></td>
<td class="struct_member_description"><p>the mode that will trigger this action entry, or -1 for all modes.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gchar</span> *<em class="structfield"><code><a name="GtkPadActionEntry.label"></a>label</code></em>;</p></td>
<td class="struct_member_description"><p>Human readable description of this action entry, this string should
be deemed user-visible.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gchar</span> *<em class="structfield"><code><a name="GtkPadActionEntry.action-name"></a>action_name</code></em>;</p></td>
<td class="struct_member_description"><p>action name that will be activated in the <span class="type">GActionGroup</span>.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GtkPadController.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkPadController--action-group"></a><h3>The <code class="literal">“action-group”</code> property</h3>
<pre class="programlisting">  “action-group”             <span class="type">GActionGroup</span> *</pre>
<p>Action group to launch actions from.</p>
<p>Owner: GtkPadController</p>
<p>Flags: Read / Write / Construct Only</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkPadController--pad"></a><h3>The <code class="literal">“pad”</code> property</h3>
<pre class="programlisting">  “pad”                      <span class="type">GdkDevice</span> *</pre>
<p>Pad device to control.</p>
<p>Owner: GtkPadController</p>
<p>Flags: Read / Write / Construct Only</p>
</div>
</div>
<div class="refsect1">
<a name="GtkPadController.see-also"></a><h2>See Also</h2>
<p><a class="link" href="GtkEventController.html" title="GtkEventController"><span class="type">GtkEventController</span></a>, <span class="type">GdkDevicePad</span></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>